#ifndef FILE_H_
#define FILE_H_

//crea o abre el archivo que se encuentra en pathName
//devuelve -1 en caso de error o un file descriptor en caso de exito
int openImpl(char * pathName, short int mode);

//cierra el archivo referenciado por el file descriptor fd
void closeImpl(int fd);

//trata de leer count bytes del archivo referenciado por el fileDescriptor fd,
//los deja en buffer y devuelve la cantidad leida.
int readImpl(int fd, char * buf, int count);

//trata de escribir count bytes en el archivo referenciado por el
//fileDescriptor fd de buf y devuelve la cantidad escrita.
int writeImpl(int fd, char * buf, int count);

//cambia el nombre del archivo o directorio en oldPath por el de newPath.
//devuelve un valor negativo en caso de error
int renameImpl(const char * oldPath, const char * newPath);

//trata de borrar un archivo. Devuelve -1 en caso de error.
int unlinkImpl(const char * pathParam);

//devuelve el tamaño del archivo o directorio en path, o -1 en caso de error
int getFileSizeImpl(const char * path);

#endif /* FILE_H_ */
